//
//  ESCPrinter.h
//  Saas
//
//  Created by 杨荣 on 2020/6/3.
//  Copyright © 2020 bing. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

typedef enum : NSUInteger {
    PrinterPrintTextFontSmall,  // 小
    PrinterPrintTextFontMiddle, // 中
    PrinterPrintTextFontBig,    // 大
}PrinterPrintTextFont;// 打印字体大小


@interface ESCPrinter : NSObject

@property (nonatomic,assign,readonly) NSInteger printerByteWidth;// 打印机纸张字节数

- (NSData *)resetPrinterPrint;// 重置printer
//- (NSData *)queryPrinter;// 查询Gprinter
- (NSData *)lineFeed;// 换行
- (NSData *)printImage:(UIImage *)image;// 打印图片

// 打印文字不加粗
- (NSData *)printCenterText:(NSString *)text  font:(PrinterPrintTextFont)font;// 打印中心文字（标题）
- (NSData *)printCenterText2:(NSString *)text  font:(PrinterPrintTextFont)font;
- (NSData *)printText:(NSString *)text font:(PrinterPrintTextFont)font alignment:(NSTextAlignment)alignment;// 打印文字
- (NSData *)noLineprintText:(NSString *)text font:(PrinterPrintTextFont)font alignment:(NSTextAlignment)alignment;//不换行
- (NSData *)printLeftText:(NSString *)leftText rightText:(NSString *)rightText font:(PrinterPrintTextFont)font;// 打印左右文字

// 打印文字可选加粗
- (NSData *)printCenterText:(NSString *)text  font:(PrinterPrintTextFont)font bold:(BOOL)bold;// 打印中心文字（标题）
- (NSData *)printText:(NSString *)text font:(PrinterPrintTextFont)font alignment:(NSTextAlignment)alignment bold:(BOOL)bold;// 打印文字
- (NSData *)printLeftText:(NSString *)leftText rightText:(NSString *)rightText font:(PrinterPrintTextFont)font bold:(BOOL)bold;// 打印左右文字
- (NSData *)printSamallText:(NSString *)text font:(PrinterPrintTextFont)font alignment:(NSTextAlignment)alignment;

- (NSData *)printTextInfoArray:(NSArray <NSDictionary *>*)textInfoArray;// 一行打印多个文字（key是文字内容，value是起始位置，单位是字节数）

- (NSData *)printQRCode:(NSArray <NSDictionary *>*)dataArray;// 打印二维码（key是name，value是qrCode）

- (NSData *)printFooter;// 打印结尾（留白）
- (NSData *)paperCut;// 切纸
- (NSData *)printPartingLine:(NSInteger)originX;// 打印分割线，originX是起始位置，单位是字节数


- (NSData *)noLinePrintSamallText:(NSString *)text font:(PrinterPrintTextFont)font alignment:(NSTextAlignment)alignment;


@end

NS_ASSUME_NONNULL_END
